package com.xbongbong.pro.message.pojo.dto;

import com.xbongbong.paas.toolbox.wrap.BaseDTO;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.DecimalMax;
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * Description: 一键已读DTO
 * @author 李杰
 * @date 2019/1/15 10:26
 * @version v1.0
 * @since v1.0
 */
@Getter
@Setter
@ToString
public class MessageReadAllDTO extends BaseDTO{

    /**
     * 分组ID 0为全部
     */
    @NotNull(message = "{dto.msg.messageReadAll.appId.NotNull}")
    private Long appId;

    @NotNull(message = "{dto.msg.messageReadAll.saasMark.NotNull}")
    @DecimalMin(value = "1", message = "{dto.msg.messageReadAll.saasMark.DecimalMin}")
    @DecimalMax(value = "2", message = "{dto.msg.messageReadAll.saasMark.DecimalMax}")
    private Integer saasMark;

    /**
     * 是否是提醒，1：提醒的消息 0：其他消息
     */
    @DecimalMin(value = "0", message = "{dto.msg.messageReadAll.isRemind.DecimalMin}")
    @DecimalMax(value = "1", message = "{dto.msg.messageReadAll.isRemind.DecimalMax}")
    private Integer isRemind;
    /**
     * 下载 1:下载 0：其他
     */
    @DecimalMin(value = "0", message = "{dto.msg.messageReadAll.isDownload.DecimalMin}")
    @DecimalMax(value = "1", message = "{dto.msg.messageReadAll.isDownload.DecimalMax}")
    private Integer isDownload;
    /**
     * 1：全部 2：今天 3：本周 4：本月
     */
    @DecimalMin(value = "1", message = "{dto.msg.messageReadAll.timeTags.DecimalMin}")
    @DecimalMax(value = "4", message = "{dto.msg.messageReadAll.timeTags.DecimalMax}")
    private Integer timeTags;
    /**
     * 业务类别，标签筛选 paas用
     */
    private List<Integer> menuTags;
    /**
     * 业务类别，标签筛选 saas用
     */
    private List<Integer> refEntity;
    /**
     * 消息类型 目前saas用
     */
    private List<Integer> type;
    /**
     * 已读未读  1：全部 2：未读 3：已读
     */
    @DecimalMin(value = "1", message = "{dto.msg.messageReadAll.statusTags.DecimalMin}")
    @DecimalMax(value = "3", message = "{dto.msg.messageReadAll.statusTags.DecimalMax}")
    private Integer statusTags;

}
